With computers and similar devices now becoming nearly ubiquitous, it is now more common for individuals to communicate with one another, hold meetings, study together, etc., using video conferencing or video chat capabilities of their computers. A video conference can be more convenient for the participants, less expensive and easier to arrange, especially when the participants are located remotely from one another. Common online video conference services include Skype, Google Hangouts, Facebook Messenger, Zoom, WebEx, etc.
Typically, in a video conference all participants will be able to see and hear all of the other participants; that is, the computer of a single participant will display a live video stream of the other participants as well as playing the audio stream from each one. In a conference of, say, four participants, each participant computer must download three video and three audio streams, as well as uploading three video and three audio streams of the participant himself, resulting in a total of twenty-four video streams and twenty-four audio streams being uploaded and downloaded to and from all the participant computers. The bandwidth consumed by all of these streams creates a number of problems for the participant computers.
Even adding a single participant to a group of four means adding sixteen new video and audio streams for total of forty streams. The increase in bandwidth required can slow down participant's computers, freeze video streams, etc., because a particular Internet connection may not have enough bandwidth to accommodate all of the streams. Further, all of these streams also causes network congestion, especially in places like libraries in schools, causes latency or missed packets (i.e., only hearing every other word or seeing every few actions), causes other background applications to fail, strains shared Wi-Fi networks, etc.
Although some locations may have sufficient bandwidth, in many situations there is limited bandwidth. For example, mobile devices such as telephones or tablet computers may only have a data plan with limited bandwidth, or, because they are mobile, they may be moved to a location where coverage is worse and bandwidth may drop automatically. Many schools, colleges and universities, while technically having large bandwidth, may not have the correct infrastructure or architecture to handle the increase in bandwidth required by video conferences. Further, outside of the United States it can be common for bandwidth to be more limited or expensive. For all these reasons, it is desirable to limit bandwidth usage during a video conference.
Although it is possible for a participant to mute his or her video or audio stream (so that the stream is not uploaded to the other participant's computers), or to mute the video or audio stream from other participants being displayed on his or her computer (so that those streams do not have to be downloaded to his or her computer), this approach is not optimal because with multiple participants it becomes unwieldy to do so. And, muting is usually one directional, that is, a host cannot mute the video of one participant and still see it himself. Further, the additional administrative effort on the host computer is substantial and the system must add multiple extra buttons for mute/unmute, audio vs. video, etc. These extra buttons will clog the user interface and still have the above problems.
Other prior art techniques attempt to identify a participant who is speaking and then prioritize that video stream using a centralized computer. These techniques require that the central computer take in all video streams in order to choose which stream to show to the participants. Such centralized techniques require higher hardware and software costs, increased bandwidth to and from the central computer, and increased latency between participant computers.
U.S. Pat. No. 10,027,725 requires a central server to control all streams and to decide which stream to send to all participants. U.S. Pat. No. 6,775,247 also requires a central multimedia conference unit in order to determine who is the dominant caller. U.S. Pat. No. 9,712,570 limits bandwidth by disabling video streams by monitoring a maximum bandwidth value. U.S. Pat. No. 8,797,377 discloses background information. U.S. Pat. No. 8,593,504 discloses bandwidth throttling.
Accordingly, improved techniques and systems are desired to allow participants to hold video conferences online where bandwidth is limited.